package gcode.helloworld.java.cmd;
//package test.helloworld.cmd;
//
//import sun.misc.Signal;
//import sun.misc.SignalHandler;
//
//
//public class SignalHandle {
//	public static void main(String args[]){
//		System.out.println("start");
//		SignalHandle cmd=new SignalHandle();
//		if(cmd.isLinux()){
//			cmd.installSignalHandler("QUIT");
//			cmd.installSignalHandler("HUP");
//			cmd.installSignalHandler("USR1");
//			cmd.installSignalHandler("USR2");
//			cmd.installSignalHandler("PIPE");
//		}
//		cmd.installSignalHandler("TERM");
//		cmd.installSignalHandler("ABRT");
//		cmd.installSignalHandler("INT");
//		try{
//			Thread.sleep(1000*10*10);
//		}catch(InterruptedException e){
//			e.printStackTrace();
//		}
//	}
//	private void handleSignal(String signal){
//		System.out.println("handleSignal "+signal);
//	}
//	private boolean isLinux() {
//		return System.getProperty("os.name").indexOf("Linux")>=0;
//	}
//	private void installSignalHandler(String signal){
//		System.out.println("installCheckSignal "+signal);
//		SimpleSignalHandler shandler=new SimpleSignalHandler();
//		try{
//			SignalHandler old = Signal.handle( new Signal( signal ), shandler);
//			shandler.setOld(old);
//		}catch(Exception e){
//			System.err.println("installShutdownSignal "+signal+" "+e);
//		}
//	}
//	class SimpleSignalHandler implements SignalHandler{
//		SignalHandler old=null;
//		public SimpleSignalHandler() {
//		}
//		public void handle( Signal sig ) {
//			try{
//				System.out.println("Handle Signal "+sig.getName() );
//				handSignal(sig);
//				if( old != null && old != SIG_DFL && old != SIG_IGN ) {  //chain back to previous handler if one exists
//					old.handle( sig );
//				}
//			}
//			catch( Throwable t ) {
//				System.out.println(String.format("ShutdownSignalHandler.handle %s : %s",sig.getName(),t.getMessage())+t);				
//			}
//		}
//		protected void handSignal(Signal sig) {
//			handleSignal(sig.getName());
//		}
//		public void setOld(SignalHandler old){
//			this.old=old;
//		}
//	}
//}
